<!DOCTYPE html>
<html>
<head>
<style>
#div1 input {background:#999999;}
#div1 .active {background:#006699;}
#div1 div {width:200px; height:200px; border:1px solid #CCC; display:none;text-align: center;font-size: 20px;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>面向对象选项卡</title>
<script>
//原生js    
//window.onload=function ()
//{
//  var oDiv=document.getElementById('div1');
//  var aBtn=oDiv.getElementsByTagName('input');
//  var aDiv=oDiv.getElementsByTagName('div');
//  var i=0;
//  
//  for(i=0;i<aBtn.length;i++)
//  {
//      aBtn[i].index=i;
//      aBtn[i].onclick=function ()
//      {
//          for(i=0;i<aBtn.length;i++)
//          {
//              aBtn[i].className='';
//              aDiv[i].style.display='none';
//          }
//          this.className='active';
//          aDiv[this.index].style.display='block';
//      };
//  }
//};
window.onload=function(){
    var oTab=new TabSwitch("div1");
}
function TabSwitch(id)
{
    var oDiv=document.getElementById(id);
    this.aBtn=oDiv.getElementsByTagName('input');
    this.aDiv=oDiv.getElementsByTagName('div');
    var i=0;
    var _this=this;          //this是new出来的对象，即oTab
    for(i=0;i<this.aBtn.length;i++)
    {
        this.aBtn[i].index=i;
        this.aBtn[i].onclick=function(){
            _this.tab(this);    //通过参数的形式，将被点击的按钮传到下面去
        };
        
    }
};
TabSwitch.prototype.tab=function(oBtn){
    for(i=0;i<this.aBtn.length;i++)
    {
        this.aBtn[i].className='';
        this.aDiv[i].style.display='none';
    }
    oBtn.className='active';    //要被点击的按钮改变，而不是new出来的对象，所以这里不用this
    this.aDiv[oBtn.index].style.display='block';
}
</script>
</head>

<body>
<div id="div1">
    <input class="active" type="button" value="11111" />
    <input type="button" value="22222" />
    <input type="button" value="33333" />
    <div style="display:block;">11111</div>
    <div>22222</div>
    <div>33333</div>
</div>
</body>
</html>
